package dao.iml;

import com.sun.org.apache.xpath.internal.operations.Bool;
import dao.DaoLogic;
import javabean.Student;
import ui.show;

import java.util.Scanner;

public class DaoLogicImp implements DaoLogic {
    /**
     * 录入学生信息
     * @param stu
     */
    @Override
    public void addStuDaoLogic(Student[] stu) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入第"+ (show.index+1)+"个学生的信息");
        Student student = new Student();
        System.out.println("请输入学生的学号");
        student.setId(scanner.next());
        System.out.println("请输入学生的名字");
        student.setName(scanner.next());
        System.out.println("请输入学生的年龄");
        student.setAge(scanner.nextInt());
        stu[show.index++]=student;
        }

    /**
     * 输出学生信息
     * @param stu
     * @param len
     */
    @Override
    public void printStuDaoLogic(Student[] stu, int len) {
        for (int i = 0; i < len; i++) {
//            if (stu[i]!=null) {  这个可加可不加，是为了保证不要输出空的
                System.out.println(stu[i].getId() + "\t" + stu[i].getName() + "\t" + stu[i].getAge());
//            }
        }
    }

    /**
     * 删除学生信息
     * @param stu
     * @param len
     * @param pos 用findOne找到的要删除的元素的下标，从删除的这一位开始，后一个覆盖前一个，实现删除
     * @return
     */
    @Override
    public Boolean delStuDaoLogic(Student[] stu, int len, int pos) {
        for (int i = pos; i < len-1; i++) {
            stu[i]=stu[i+1];
        }
        return true;
    }

    /**
     * 判断要删除的学号是否存在
      * @param stu
     * @param len 有效元素的个数
     * @param xuehao
     * @return
     */
    @Override
    public Integer findOneStuDao(Student[] stu, int len, String xuehao) {
//        System.out.println("555");测试，要遍历的一定要传有效长度
        for (int i = 0; i < len; i++) {
            if(stu[i].getId().equals(xuehao)){
                return i;
            }
        }
        return null;
    }

    /**
     * 更新学生信息的具体实现
     * @param stu 存储信息的数据结构
     * @param stus 新的学生对象，里面有新的学号姓名年龄信息
     * @param pos 用findOne找到的要修改的元素的下标
     * @return
     */
    @Override
    public Boolean updateStuDao(Student[] stu, Student stus,Integer pos) {
        stu[pos]=stus;
        return true;//更新完毕
    }

    /**
     * 检查用户名
     * @param admin
     * @return
     */
    @Override
    public Boolean checkAdminDao(String admin) {
        if(admin.equals("admin")){
            return true;
        }
        return false;
    }

    /**
     * 检查密码
     * @return
     */
    @Override
    public Boolean checkPssWordDao(Integer password) {
        if(password.equals(123456)){
            return true;
        }
        return false;
    }

    /**
     * 检查验证码
     * @return
     */
    @Override
    public Boolean checkCodeDao(String code) {
        return null;
    }
}
